﻿<ResourceDictionary 
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

	<ResourceDictionary.MergedDictionaries>
		<ResourceDictionary Source="Shared.xaml" />
	</ResourceDictionary.MergedDictionaries>

	<Style x:Key="ScrollBarLineButton" TargetType="{x:Type RepeatButton}">
		<Setter Property="SnapsToDevicePixels" Value="True"/>
		<Setter Property="OverridesDefaultStyle" Value="true"/>
		<Setter Property="Focusable" Value="false"/>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type RepeatButton}">
					<Border 
            Name="Border"
            Margin="1" 
            CornerRadius="2" 
            Background="{StaticResource NormalBrush}"
            BorderBrush="{StaticResource NormalBorderBrush}"
            BorderThickness="1">
						<Path 
              HorizontalAlignment="Center"
              VerticalAlignment="Center"
              Fill="{StaticResource GlyphBrush}"
              Data="{Binding Path=Content,RelativeSource={RelativeSource TemplatedParent}}" />
					</Border>
					<ControlTemplate.Triggers>
						<Trigger Property="IsPressed" Value="true">
							<Setter TargetName="Border" Property="Background" Value="{StaticResource PressedBrush}" />
						</Trigger>
						<Trigger Property="IsEnabled" Value="false">
							<Setter Property="Foreground" Value="{StaticResource DisabledForegroundBrush}"/>
						</Trigger>
					</ControlTemplate.Triggers>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>

	<Style x:Key="ScrollBarPageButton" TargetType="{x:Type RepeatButton}">
		<Setter Property="SnapsToDevicePixels" Value="True"/>
		<Setter Property="OverridesDefaultStyle" Value="true"/>
		<Setter Property="IsTabStop" Value="false"/>
		<Setter Property="Focusable" Value="false"/>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type RepeatButton}">
					<Border Background="Transparent" />
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>

	<Style x:Key="ScrollBarThumb" TargetType="{x:Type Thumb}">
		<Setter Property="SnapsToDevicePixels" Value="True"/>
		<Setter Property="OverridesDefaultStyle" Value="true"/>
		<Setter Property="IsTabStop" Value="false"/>
		<Setter Property="Focusable" Value="false"/>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="{x:Type Thumb}">
					<Grid>
						<Grid.RenderTransform>
							<TranslateTransform X="-2" />
						</Grid.RenderTransform>
						<Rectangle Fill="#66000000" RadiusX="10" RadiusY="10" >

							<Rectangle.RenderTransform>
								<TranslateTransform X="2" Y="2" />
							</Rectangle.RenderTransform>
						</Rectangle>
						<Rectangle Fill="sc#1.000000, 0.788279, 0.788279, 0.788270" RadiusX="10" RadiusY="10" Stroke="sc#1.000000, 0.358501, 0.358501, 0.358500" />
						<Rectangle  RadiusX="12" RadiusY="12" Margin="3" >
							<Shape.Fill>
								<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
									<GradientBrush.GradientStops>
										<GradientStopCollection>
											<GradientStop Color="sc#1.000000, 1.000000, 1.000000, 1.000000" Offset="0" />
											<GradientStop Color="sc#0.000000, 0.699212, 0.699212, 0.699210" Offset="0.5" />
											<GradientStop Color="sc#1.000000, 1.000000, 1.000000, 1.000000" Offset="1" />
										</GradientStopCollection>
									</GradientBrush.GradientStops>

								</LinearGradientBrush>
							</Shape.Fill>
						</Rectangle>

						<Ellipse  Fill="sc#1.000000, 1.000000, 1.000000, 1.000000" Width="10" Height="10" >
							<Ellipse.Stroke>
								<LinearGradientBrush>
									<LinearGradientBrush.GradientStops>
										<GradientStop Offset="0" Color="black" />
										<GradientStop Offset="1" Color="white" />
									</LinearGradientBrush.GradientStops>
								</LinearGradientBrush>
							</Ellipse.Stroke>
						</Ellipse>
					</Grid>


				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>

	<ControlTemplate x:Key="VerticalScrollBar" TargetType="{x:Type ScrollBar}">
		<Grid >
			<Grid.RowDefinitions>
				<RowDefinition MaxHeight="0"/>
				<RowDefinition Height="0.00001*"/>
				<RowDefinition MaxHeight="0"/>
			</Grid.RowDefinitions>
			<Border
        Grid.RowSpan="3"
        CornerRadius="2" 
        Background="Transparent" />
			<RepeatButton 
        Grid.Row="0"                           
        Style="{StaticResource ScrollBarLineButton}"
        Height="18" Visibility="Collapsed" 
        Command="ScrollBar.LineUpCommand"
        Content="M 0 4 L 8 4 L 4 0 Z" />
			<Track 
        Name="PART_Track"
        Grid.Row="1"
        IsDirectionReversed="true">


				<Track.DecreaseRepeatButton>
					<RepeatButton Style="{StaticResource ScrollBarPageButton}"
                        Command="ScrollBar.PageUpCommand"/>
				</Track.DecreaseRepeatButton>

				<Track.IncreaseRepeatButton>
					<RepeatButton Style="{StaticResource ScrollBarPageButton}"
                        Command="ScrollBar.PageDownCommand"/>
				</Track.IncreaseRepeatButton>
				<Track.Thumb>
					<Thumb x:Name="Thumb"
                 Style="{StaticResource ScrollBarThumb}"/>
				</Track.Thumb>
			</Track>
			<RepeatButton Visibility="Collapsed"
        Grid.Row="3" 
        Style="{StaticResource ScrollBarLineButton}"
        Height="18"
        Command="ScrollBar.LineDownCommand"
        Content="M 0 0 L 4 4 L 8 0 Z"/>
		</Grid>
	</ControlTemplate>

	<ControlTemplate x:Key="HorizontalScrollBar" TargetType="{x:Type ScrollBar}">
		<Grid >
			<Grid.ColumnDefinitions>
				<ColumnDefinition MaxWidth="18"/>
				<ColumnDefinition Width="0.00001*"/>
				<ColumnDefinition MaxWidth="18"/>
			</Grid.ColumnDefinitions>
			<Border
        Grid.ColumnSpan="3"
        CornerRadius="2" 
        Background="#F0F0F0" />
			<RepeatButton 
        Grid.Column="0"                           
        Style="{StaticResource ScrollBarLineButton}"
        Width="18"
        Command="ScrollBar.LineLeftCommand"
        Content="M 4 0 L 4 8 L 0 4 Z" />
			<Track 
        Name="PART_Track"
        Grid.Column="1"
        IsDirectionReversed="False">
				<Track.DecreaseRepeatButton>
					<RepeatButton Style="{StaticResource ScrollBarPageButton}"
                        Command="ScrollBar.PageLeftCommand"/>
				</Track.DecreaseRepeatButton>

				<Track.IncreaseRepeatButton>
					<RepeatButton Style="{StaticResource ScrollBarPageButton}"
                        Command="ScrollBar.PageRightCommand"/>
				</Track.IncreaseRepeatButton>
				<Track.Thumb>
					<Thumb x:Name="Thumb"
                 Style="{StaticResource ScrollBarThumb}" Background="red"/>
				</Track.Thumb>
			</Track>
			<RepeatButton 
        Grid.Column="3" 
        Style="{StaticResource ScrollBarLineButton}"
        Width="18"
        Command="ScrollBar.LineRightCommand"
        Content="M 0 0 L 4 4 L 0 8 Z"/>
		</Grid>
	</ControlTemplate>

	<Style x:Key="{x:Type ScrollBar}" TargetType="{x:Type ScrollBar}">
		<Setter Property="SnapsToDevicePixels" Value="True"/>
		<Setter Property="OverridesDefaultStyle" Value="true"/>
		<Style.Triggers>
			<Trigger Property="Orientation" Value="Horizontal">
				<Setter Property="Width" Value="Auto"/>
				<Setter Property="Height" Value="18" />
				<Setter Property="Template" Value="{StaticResource HorizontalScrollBar}" />
			</Trigger>
			<Trigger Property="Orientation" Value="Vertical">
				<Setter Property="Width" Value="18"/>
				<Setter Property="Height" Value="Auto" />
				<Setter Property="Template" Value="{StaticResource VerticalScrollBar}" />
			</Trigger>
		</Style.Triggers>
	</Style>
</ResourceDictionary>